﻿using System;

namespace TinyContainer
{
    /// <summary>
    /// Maps an object to an <c>Object.Type</c>.
    /// </summary>
    public class Mapping
    {
        /// <summary>
        /// Gets or sets the object's interface.
        /// </summary>
        /// <value>
        /// The interface implemented by the object.
        /// </value>
        public Type Interface { set; get; }

        /// <summary>
        /// Gets or sets the object's class.
        /// </summary>
        /// <value>
        /// The class of the object.
        /// </value>
        public Type Class { set; get; }

        /// <summary>
        /// Gets or sets the object's instance.
        /// </summary>
        /// <value>
        /// The name of the object instance.
        /// </value>
        public object Instance { set; get; }

        /// <summary>
        /// Gets or sets the object name.
        /// </summary>
        /// <value>
        /// The name object.
        /// </value>
        public string Name { set; get; }
    }
}
